package com.example.mydownloader.netty

import com.example.mydownloader.data.model.inputdata.NettyConfig

/**
 * @Author: Wallace
 * @Description: Netty连接监听器
 * @Date: 2022/1/31 19:29
 * @Modified: By yyyy-MM-dd
 */
interface NettyListener {
    /**
     * 流程启动前调用
     */
    fun onReady(isChange: Boolean)

    /**
     * 成功获取Netty配置时调用
     */
    fun onGetNettyConfigSuccess(url: String, nettyConfig: NettyConfig)

    /**
     * 获取Netty配置失败时调用
     */
    fun onGetNettyConfigFail(count1: Int, url1: String)

    /**
     * Netty连接成功时调用
     */
    fun onConnectSuccess(host: String, port: Int, connCount: Int)

    /**
     * Netty连接失败时调用
     */
    fun onConnectFail(host: String, port: Int, connCount: Int, cause: Throwable)

    /**
     * Netty断开连接时调用
     */
    fun onDisconnect()
}